1. Field of the Invention
The invention disclosed and claimed herein generally pertains to a method wherein a bridge or switch device is positioned to transfer data between virtual and physical local area networks (LANs). More particularly, the invention pertains to method of the above type wherein the bridge device must determine or assess the MSS of packet frames to be transferred, and if necessary adjust the maximum allowable MSS to a prespecified value. Even more particularly, the invention pertains to a method of the above type wherein the virtual LAN includes a logical partition (LPAR) system, and the bridge device can comprise a shared ethernet adapter (SEA).
2. Description of the Related Art
It is increasingly common for large, symmetric multi-processor systems to be partitioned and used as smaller systems, which are also referred to as logical partitioned data processing systems A logical partitioned functionality within a data processing system allows multiple copies of a single operating system, or multiple heterogeneous operating systems, to be simultaneously run on a single data processing system platform. A logical partition (LPAR), within which an operating system image runs, is assigned a non-overlapping subset of the platform resources. These resources can be allocated, and may include one or more architecturally distinct processors and their interrupt management areas, regions of system memory, and input/output (I/O) adapter bus slots.
In a virtualized environment such as an LPAR system environment, switches are implemented in software, A shared ethernet adapter (SEA) is a software bridge or switch that connects LPAR systems to hosts in the outside world, through virtual ethernet adapters. As is known by those of skill in the art, the maximum segment size (MSS) of a connection is the maximum amount of data, or packet size, that can be transmitted over that connection. Within the virtualized environment, the MSS of any connection will typically be 63K bytes. However, for hosts that are outside of the virtualized environment, ethernet hardware may accept frames of variable size, but typically not larger than 9000 bytes. Some ethernet hardware will accept frames of up to only 1500 bytes.
When a connection is established between two hosts, the MSS for the connection is the minimum Maximum Transmission Unit (MTU) of both the endpoint hosts involved in the connection. The Transmission Control Protocol (TCP) estimates MSS by using the MTU for each of these endpoints, in order to prevent either endpoint from sending data packets that are too large for the other. While this method of estimating MSS takes into account the MTU of both sender and receiver, it does not consider the MTU of any hosts or switches that lie between the two endpoints. As a result, a misconfiguration is likely to occur, when an LPAR sets up a connection with an outside host that supports 9000 byte frames, but the SEA that bridges the LPAR to the outside host can reliably accept packet frames of only up to 1500 bytes. In this arrangement, the LPAR and the outside host establish a connection with incident, if the packets used to set up the connection do not exceed 1500 bytes. The setup packets will indicate that an MSS of 9000 is acceptable, since data transmission begins under the assumption that each host can accept packet frames of at least 9000 bytes of data. However, when the data travels from the outside host to the LPAR, the physical hardware attached to the SEA will drop the packet. Thus, while a connection does become established, it is totally non-functioning.